package com.ruoyi.map.domain;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;

import java.time.LocalDateTime;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.baomidou.mybatisplus.annotation.TableField;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 单位供给调查对象 unit_supply_survey
 *
 * @author dihang
 * @date 2023-08-16
 */
@Builder
@Data
@NoArgsConstructor
@AllArgsConstructor
public class UnitSupplySurvey extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    @TableId(type = IdType.AUTO)
    private Long id;
    /** 用户id */
    @Excel(name = "用户id")
    private Long userId;
    /** 准入登记年度 */
    @Excel(name = "准入登记年度")
    private String year;
    /** 申请编号 */
    @Excel(name = "申请编号")
    private String applyNum;
    /** 单位名称 */
    @Excel(name = "单位名称")
    private String name;
    /** 单位编号 */
    @Excel(name = "单位编号")
    private String unitNum;
    /** 项目名称 */
    @Excel(name = "项目名称")
    private String projectName;
    /** 申请支持对象类别 0低收入家庭 1特困家庭 2困难职工 3退役军人 4特殊群体 5临时困难家庭 */
    @Excel(name = "申请支持对象类别 0低收入家庭 1特困家庭 2困难职工 3退役军人 4特殊群体 5临时困难家庭")
    private String supportType;
    /** 申请支持项目类别 0廉租房 1公租房 */
    @Excel(name = "申请支持项目类别 0廉租房 1公租房")
    private String projectType;
    /** 申请支持对象方式 0提交资料申请 1面谈或调查 2公示公告 3发放通知或签订协议 */
    @Excel(name = "申请支持对象方式 0提交资料申请 1面谈或调查 2公示公告 3发放通知或签订协议")
    private String supportWay;
    /** 申请支持编号 */
    @Excel(name = "申请支持编号")
    private String supportNum;
    /** 标准额度 */
    @Excel(name = "标准额度")
    private String standardLimit;
    /** 应补贴额度 */
    @Excel(name = "应补贴额度")
    private String subsidyAmount;
    /** 应缴纳额度 */
    @Excel(name = "应缴纳额度")
    private String payableAmount;
    /** 核减额度 */
    @Excel(name = "核减额度")
    private String deductionLimit;
    /** 申请额度 */
    @Excel(name = "申请额度")
    private String quota;
    /** 申请时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "申请时间", width = 30, dateFormat = "yyyy-MM-dd")
    private LocalDateTime time;
    /** 核定额度 */
    @Excel(name = "核定额度")
    private String approvedQuota;
    /** 审核时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "审核时间", width = 30, dateFormat = "yyyy-MM-dd")
    private LocalDateTime auditTime;
    /** 审核单位 */
    @Excel(name = "审核单位")
    private String auditUnit;
    /** 审核人 */
    @Excel(name = "审核人")
    private String auditPeople;
    /** 预留字段1 */
    @Excel(name = "预留字段1")
    private String filed1;
    /** 预留字段2 */
    @Excel(name = "预留字段2")
    private String filed2;
    /** 预留字段3 */
    @Excel(name = "预留字段3")
    private String filed3;
    /** 预留字段4 */
    @Excel(name = "预留字段4")
    private String filed4;
    /** 预留字段5 */
    @Excel(name = "预留字段5")
    private String filed5;


    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("userId", getUserId())
            .append("year", getYear())
            .append("applyNum", getApplyNum())
            .append("name", getName())
            .append("unitNum", getUnitNum())
            .append("projectName", getProjectName())
            .append("supportType", getSupportType())
            .append("projectType", getProjectType())
            .append("supportWay", getSupportWay())
            .append("supportNum", getSupportNum())
            .append("standardLimit", getStandardLimit())
            .append("subsidyAmount", getSubsidyAmount())
            .append("payableAmount", getPayableAmount())
            .append("deductionLimit", getDeductionLimit())
            .append("quota", getQuota())
            .append("time", getTime())
            .append("approvedQuota", getApprovedQuota())
            .append("auditTime", getAuditTime())
            .append("auditUnit", getAuditUnit())
            .append("auditPeople", getAuditPeople())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("createBy", getCreateBy())
            .append("updateBy", getUpdateBy())
            .append("remark", getRemark())
            .append("deleted", getDeleted())
            .append("filed1", getFiled1())
            .append("filed2", getFiled2())
            .append("filed3", getFiled3())
            .append("filed4", getFiled4())
            .append("filed5", getFiled5())
        .toString();
    }
}
